Mercurial > gemma
changeset 1799:0e387e0e0d7c
Added SOAP interface for ERDMS service. Needs work (namespaces?).
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 14 Jan 2019 18:59:02 +0100 |
parents | 40cbfd268aa9 |
children | f5c33972497e |
files | pkg/soap/erdms/service.go |
diffstat | 1 files changed, 2499 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkg/soap/erdms/service.go Mon Jan 14 18:59:02 2019 +0100 @@ -0,0 +1,2499 @@ +// This is Free Software under GNU Affero General Public License v >= 3.0 +// without warranty, see README.md and license for details. +// +// SPDX-License-Identifier: AGPL-3.0-or-later +// License-Filename: LICENSES/AGPL-3.0.txt +// +// Copyright (C) 2018 by via donau +// – Österreichische Wasserstraßen-Gesellschaft mbH +// Software engineering by Intevation GmbH +// +// Author(s): +// * Sascha L. Teichmann <sascha.teichmann@intevation.de> + +package erdms + +import ( + "encoding/xml" + "time" + + "gemma.intevation.de/gemma/pkg/soap" +) + +// against "unused imports" +var _ time.Time +var _ xml.Name + +// adn (dgs goods) internal adn code (unnr + seqnr: to make each adn good unique) +type AdnCodeType string + +// adn class and classifications codes +type AdnClassType string + +// adn (dgs) labels applicable for a dgs good +type AdnLabelType string + +// Older CBS (number) code (3 digits) use by statistics organisations (backw comp) but replaced by newer iso 3166 (2 letters). +type CbscountryCodeType string + +// iso 6346 container type (code) +type ContIdType string + +// containertype textual description +type ContNameType string + +// indication (flag) wheater shiptype code is a single ship or a transport combination +type CombinationFlagType bool + +// Country iso 3166 code (2 alpha) +type CountryCodeType string + +// Country iso 3166 code (3 alpha) +type CountryCode3Type string + +// Countryname type (name of the country) +type CountryNameType string + +// Country iso 3166 numcode (3 digits) +type CountryIsoNumType string + +// techn directive craft type code (eu hull db) +type CraftTypeType string + +// inland cones 0,1,2,3,V (as used for DGS goods and cones calculations) +type ConesType string + +const ( + ConesType0 ConesType = "0" + + ConesType1 ConesType = "1" + + ConesType2 ConesType = "2" + + ConesType3 ConesType = "3" + + ConesTypeV ConesType = "V" +) + +// dimension type (length, width, draught etc) in [cm] (no decimals) +type DimType int64 + +// older 2 digit dvk shiptype code (replaced by unrec +type DvkTypeType string + +// record erased (not actual anymore) flag type +type ErasedType bool + +// eri location code type as used for eri_locations +type ErilocCodeType string + +// eri location name type as used in eri_locations +type ErilocNameType string + +// flags 0,B,V (dang goods indication seagoing vessels) +type FlagsType string + +const ( + FlagsType0 FlagsType = "0" + + FlagsTypeB FlagsType = "B" + + FlagsTypeV FlagsType = "V" +) + +// fairway code (text) +type FwCodeType string + +// ADN dangerous goodnames, description +type GoodDgsNameType string + +// non-dangerous goodnames, description +type GoodNameType string + +// ADN dangerous good synonym name,description +type GoodSynType string + +// HS code as used by customs +type HsCodeType string + +// hectometre code (hectomere in [hm] (no decimals) on the fairway) +type KmCodeType string + +// lastupdate, last modification date time of this record +type LastupdateType time.Time + +// one of the supported languages (basic and additional set), based on ISO 639-1 +type LangType string + +const ( + LangTypeXX LangType = "%%" + + LangTypeLc LangType = "lc" + + LangTypeNl LangType = "nl" + + LangTypeDe LangType = "de" + + LangTypeFr LangType = "fr" + + LangTypeEn LangType = "en" + + LangTypeBg LangType = "bg" + + LangTypeCs LangType = "cs" + + LangTypeDa LangType = "da" + + LangTypeEl LangType = "el" + + LangTypeEs LangType = "es" + + LangTypeEt LangType = "et" + + LangTypeFi LangType = "fi" + + LangTypeHu LangType = "hu" + + LangTypeIt LangType = "it" + + LangTypeLt LangType = "lt" + + LangTypeLv LangType = "lv" + + LangTypePl LangType = "pl" + + LangTypePt LangType = "pt" + + LangTypeRo LangType = "ro" + + LangTypeSk LangType = "sk" + + LangTypeSl LangType = "sl" + + LangTypeSv LangType = "sv" + + LangTypeHr LangType = "hr" + + LangTypeRu LangType = "ru" + + LangTypeSr LangType = "sr" +) + +// lat long (WGS decimal [.] coordinates) coordinate type +type LatlonType float64 + +// un locode (2 country + 3 location code) +type LoCodeType string + +// Number of possible (departure) exist (routes) for a location +type LocExitsType int32 + +// VTS/IVS (code)name active in certain area and acting as a reporting point (when departing from that location) +type LocVtsCodeType string + +// location type, terminal type (a number indicating type of location,terminal) +type LocTypeType int32 + +// lloyds flag code for a certain country (seagoing) +type LloydsflagType string + +// NST code (corresponing nst2007 EU statistics codes for goods). +type NstCodeType string + +// NtS (Notices to Skippers) code/Value datatype +type NtsCodeType string + +// NtS name/description (belonging to a ntsCode) datatype +type NtsNameType string + +// NtS subtype (sub data type, there are several nts tables) +type NtstypeType string + +// ADN dangerous good packing group I, II, III +type PackGrpType string + +// UN rec 21 inner package code +type PackIdType string + +// Un rec 21 inner package name/description +type PackNameType string + +// Password type (belonging to a user, used to identify a user and its role and home country). +type PasswordType string + +// quay type (terminals), indicating quay nrs/id's +type QuayType string + +// record counter (nr of records available or in a set) +type RecCountType int64 + +// reftype Type (reftool data reftype, such as: risidx, eri_location, eri_hscode, nts_data) +type ReftypeType string + +const ( + ReftypeTypeRis_idx ReftypeType = "ris_idx" + + ReftypeTypeEri_location ReftypeType = "eri_location" + + ReftypeTypeEri_hscode ReftypeType = "eri_hscode" + + ReftypeTypeEri_adncode ReftypeType = "eri_adncode" + + ReftypeTypeEri_conttype ReftypeType = "eri_conttype" + + ReftypeTypeEri_packtype ReftypeType = "eri_packtype" + + ReftypeTypeEri_shiptype ReftypeType = "eri_shiptype" + + ReftypeTypeEri_country ReftypeType = "eri_country" + + ReftypeTypeNts_barrage ReftypeType = "nts_barrage" + + ReftypeTypeNts_communication ReftypeType = "nts_communication" + + ReftypeTypeNts_country ReftypeType = "nts_country" + + ReftypeTypeNts_direction ReftypeType = "nts_direction" + + ReftypeTypeNts_direction_max ReftypeType = "nts_direction_max" + + ReftypeTypeNts_direction_min ReftypeType = "nts_direction_min" + + ReftypeTypeNts_gui_labels ReftypeType = "nts_gui_labels" + + ReftypeTypeNts_ice_accessibility ReftypeType = "nts_ice_accessibility" + + ReftypeTypeNts_ice_condition ReftypeType = "nts_ice_condition" + + ReftypeTypeNts_ice_classification ReftypeType = "nts_ice_classification" + + ReftypeTypeNts_ice_situation ReftypeType = "nts_ice_situation" + + ReftypeTypeNts_indication ReftypeType = "nts_indication" + + ReftypeTypeNts_interval ReftypeType = "nts_interval" + + ReftypeTypeNts_language ReftypeType = "nts_language" + + ReftypeTypeNts_limitation ReftypeType = "nts_limitation" + + ReftypeTypeNts_measure ReftypeType = "nts_measure" + + ReftypeTypeNts_position ReftypeType = "nts_position" + + ReftypeTypeNts_reason ReftypeType = "nts_reason" + + ReftypeTypeNts_reference ReftypeType = "nts_reference" + + ReftypeTypeNts_regime ReftypeType = "nts_regime" + + ReftypeTypeNts_reporting ReftypeType = "nts_reporting" + + ReftypeTypeNts_subject ReftypeType = "nts_subject" + + ReftypeTypeNts_tag ReftypeType = "nts_tag" + + ReftypeTypeNts_target_group ReftypeType = "nts_target_group" + + ReftypeTypeNts_type ReftypeType = "nts_type" + + ReftypeTypeNts_weather_category ReftypeType = "nts_weather_category" + + ReftypeTypeNts_weather_class ReftypeType = "nts_weather_class" + + ReftypeTypeNts_weather_direction ReftypeType = "nts_weather_direction" + + ReftypeTypeNts_weather_item ReftypeType = "nts_weather_item" +) + +// RefData record version numbering (automaically, starts with 1 and increments on updates, requesting version 0=dont care) +type RefrecVersionType int64 + +// remarks string (remarks about the maintance of a record or any other remarks) +type RemarksType string + +// ris index (ISRS) code type (full ris index code) +type RisCodeType string + +// locationames as used in the ris index +type RislocNameType string + +// ris idx related ENC's type as used in ris idx (list of ENC id's) +type RisrelencType string + +// ris idx object code type (single code for a junction, termcode etc padded), subpart of the ris idx. +type RisobjCodeType string + +// ris idx communication information TXTDSC +type RiscomminfoType string + +// ris idx object function code type (junction, berths etc) +type RisobjfuncType string + +// ris idx section node id +type RissectnodeType string + +// ris idx national Gauge Code type (can be utilised to store any national coding/id/link for gauges) +type RisgaugeidType string + +// ris idx applicability from / to km (in hectometres (no decimals)) +type RisapplikmType int64 + +// ris idx reference level code (indicating the ref level) +type RisreflevelcodeType string + +// ris idx reference level value [cm] +type RisreflevelvalueType int64 + +// ris idx geod reference +type RisgeodrefType string + +// ris idx zero point [cm] +type RiszeropointType int64 + +// ris idx category of time schedule (cattab) +type RiscatoftimeschedType string + +// ris idx for ship type +type RisforshiptypeType string + +// ris idx use of ship useshp +type RisuseofshipType string + +// ris idx link to external XML file +type RislinkextxmlType string + +// UNrec 28 shiptype (4 digits) +type ShipTypeType string + +// shiptype name (textual) description +type ShiptypeNameType string + +// source string, to specify the source of this record/data or the update. +type SourceType string + +// ADN signal code (to group dgs for cones/flags calculations) +type SignalCodeType string + +// terminal code type (remark: termcode is the only part of eri locs with variable length, historical reasons). +type TermCodeType string + +// unlocode countrycode part (first 2 of unlocode) as used in ris idx +type UnlocCCType string + +// unlocode location code part (last 3 of unlocode) as used in ris idx +type UnlocLCType string + +// UN nr (4 digits) adn nr for identifying ADN dangerous goods (according CCNR) +type UnnrType string + +// reftool username(reftool accountname) type, to idetify a user and its role. +type UserNameType string + +// cargo weight type, integer nr (units [tons], [kg]) depending on element) +type WeightType int64 + +// adn warning (dgs) card id +type WarnIdType string + +// adn warning card +type WarnCardType string + +type MatchByCode struct { + XMLName xml.Name `xml:"http://rwsreftool/ matchByCode"` + + *MatchByCodeType +} + +type MatchByCodeResponse struct { + XMLName xml.Name `xml:"http://rwsreftool/ matchByCodeResponse"` + + *MatchByCodeResponseType +} + +type MatchByName struct { + XMLName xml.Name `xml:"http://rwsreftool/ matchByName"` + + *MatchByNameType +} + +type MatchByNameResponse struct { + XMLName xml.Name `xml:"http://rwsreftool/ matchByNameResponse"` + + *MatchByNameResponseType +} + +type GetDataXML struct { + XMLName xml.Name `xml:"http://rwsreftool/ getDataXML"` + + *GetDataXMLType +} + +type GetDataXMLResponse struct { + XMLName xml.Name `xml:"http://rwsreftool/ getDataXMLResponse"` + + *GetDataXMLResponseType +} + +type GetMutations struct { + XMLName xml.Name `xml:"http://rwsreftool/ getMutations"` + + *GetMutationsType +} + +type GetMutationsResponse struct { + XMLName xml.Name `xml:"http://rwsreftool/ getMutationsResponse"` + + *GetMutationsResponseType +} + +type GetRisDataXML struct { + XMLName xml.Name `xml:"http://rwsreftool/ getRisDataXML"` + + *GetRisDataXMLType +} + +type GetRisDataXMLResponse struct { + XMLName xml.Name `xml:"http://rwsreftool/ getRisDataXMLResponse"` + + *GetRisDataXMLResponseType +} + +type MutateDataXML struct { + XMLName xml.Name `xml:"http://rwsreftool/ mutateDataXML"` + + *MutateDataXMLType +} + +type MutateDataXMLResponse struct { + XMLName xml.Name `xml:"http://rwsreftool/ mutateDataXMLResponse"` + + *MutateDataXMLResponseType +} + +type RequestMutationXML struct { + XMLName xml.Name `xml:"http://rwsreftool/ requestMutationXML"` + + *RequestMutationXMLType +} + +type RequestMutationXMLResponse struct { + XMLName xml.Name `xml:"http://rwsreftool/ requestMutationXMLResponse"` + + *RequestMutationXMLResponseType +} + +type MatchByCodeType struct { + XMLName xml.Name `xml:"http://rwsreftool/ matchByCodeType"` + + Reftype *ReftypeType `xml:"reftype,omitempty"` + + Code string `xml:"code,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` +} + +type MatchByCodeResponseType struct { + XMLName xml.Name `xml:"http://rwsreftool/ matchByCodeResponseType"` + + // Indicates how many records are available/were found + // (due limitations less records can be returned/available in the resulting xml structure). + RecCount *RecCountType `xml:"recCount,omitempty"` + + RefdataReturn []*RefdataReturnType `xml:"refdataReturn,omitempty"` +} + +type MatchByNameType struct { + XMLName xml.Name `xml:"http://rwsreftool/ matchByNameType"` + + Reftype *ReftypeType `xml:"reftype,omitempty"` + + Lang *LangType `xml:"lang,omitempty"` + + Name string `xml:"name,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` +} + +type MatchByNameResponseType struct { + XMLName xml.Name `xml:"http://rwsreftool/ matchByNameResponseType"` + + // Indicates how many records are available/were found + // (due limitations less records can be returned/available in the resulting xml structure). + RecCount *RecCountType `xml:"recCount,omitempty"` + + RefdataReturn []*RefdataReturnType `xml:"refdataReturn,omitempty"` +} + +type GetMutationsType struct { + XMLName xml.Name `xml:"http://rwsreftool/ getMutationsType"` + + Reftype *ReftypeType `xml:"reftype,omitempty"` + + // from, to in datetime format in UTC time + FromDate time.Time `xml:"fromDate,omitempty"` + + ToDate time.Time `xml:"toDate,omitempty"` +} + +type GetMutationsResponseType struct { + XMLName xml.Name `xml:"http://rwsreftool/ getMutationsResponseType"` + + // Indicate how many records are available/were found. + RecCount *RecCountType `xml:"recCount,omitempty"` + + RefdataReturn []*RefdataReturnType `xml:"refdataReturn,omitempty"` +} + +type GetDataXMLType struct { + XMLName xml.Name `xml:"http://rwsreftool/ getDataXMLType"` + + Reftype *ReftypeType `xml:"reftype,omitempty"` + + Subcode string `xml:"subcode,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` +} + +type GetDataXMLResponseType struct { + XMLName xml.Name `xml:"http://rwsreftool/ getDataXMLResponseType"` + + // Indicates how many records are available/were found. + RecCount *RecCountType `xml:"recCount,omitempty"` + + RefdataReturn []*RefdataReturnType `xml:"refdataReturn,omitempty"` +} + +type GetRisDataXMLType struct { + XMLName xml.Name `xml:"http://rwsreftool/ getRisDataXMLType"` + + Subcode string `xml:"subcode,omitempty"` + + Funcode string `xml:"funcode,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` +} + +type GetRisDataXMLResponseType struct { + XMLName xml.Name `xml:"http://rwsreftool/ getRisDataXMLResponseType"` + + // Indicates how many records are available/were found. + RecCount *RecCountType `xml:"recCount,omitempty"` + + RisdataReturn []*Ris_idxType `xml:"risdataReturn,omitempty"` +} + +type MutateDataXMLType struct { + XMLName xml.Name `xml:"http://rwsreftool/ mutateDataXMLType"` + + Username *UserNameType `xml:"username,omitempty"` + + Password *PasswordType `xml:"password,omitempty"` + + Reftype *ReftypeType `xml:"reftype,omitempty"` + + RefData *RefdataReturnType `xml:"refData,omitempty"` +} + +type MutateDataXMLResponseType struct { + XMLName xml.Name `xml:"http://rwsreftool/ mutateDataXMLResponseType"` + + *StatReturnType +} + +type RequestMutationXMLType struct { + XMLName xml.Name `xml:"http://rwsreftool/ requestMutationXMLType"` + + Username *UserNameType `xml:"username,omitempty"` + + Password *PasswordType `xml:"password,omitempty"` + + Reftype *ReftypeType `xml:"reftype,omitempty"` + + InUserList bool `xml:"inUserList,omitempty"` + + RefDataReqMut *RefdataReqMutType `xml:"refDataReqMut,omitempty"` +} + +type RequestMutationXMLResponseType struct { + XMLName xml.Name `xml:"http://rwsreftool/ requestMutationXMLResponseType"` + + *StatReturnType +} + +type ExceptionType struct { + XMLName xml.Name `xml:"http://rwsreftool/ exception"` + + // exception code + Exception int32 `xml:"exception,omitempty"` + + // exception message in English + Message string `xml:"message,omitempty"` +} + +type RefdataReturnType struct { + XMLName xml.Name `xml:"http://rwsreftool/ refdataReturnType"` + + Reftype struct { + Value *ReftypeType + } `xml:"reftype,omitempty"` + + Ris_idx *Ris_idxType `xml:"ris_idx,omitempty"` + + Eri_location *Eri_locationType `xml:"eri_location,omitempty"` + + Eri_hscode *Eri_hscodeType `xml:"eri_hscode,omitempty"` + + Eri_adncode struct { + *Eri_adncodeType + } `xml:"eri_adncode,omitempty"` + + Eri_conttype *Eri_conttypeType `xml:"eri_conttype,omitempty"` + + Eri_packtype *Eri_packtypeType `xml:"eri_packtype,omitempty"` + + Eri_shiptype *Eri_shiptypeType `xml:"eri_shiptype,omitempty"` + + Eri_country *Eri_countryType `xml:"eri_country,omitempty"` + + // NtS element is only available in the return refdata structure. + // It is not available in the Req Mutation datastructure because we can not mutate nts data (not allowed)! + Nts_data *Nts_dataType `xml:"nts_data,omitempty"` +} + +type RefdataReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ refdataReqMutType"` + + // BE SURE to edit the basic (simple)types, DONT edit any of the subelements from here! + Reftype *ReftypeType `xml:"reftype,omitempty"` + + Ris_idx *Ris_idxReqMutType `xml:"ris_idx,omitempty"` + + Eri_location *Eri_locationReqMutType `xml:"eri_location,omitempty"` + + Eri_hscode *Eri_hscodeReqMutType `xml:"eri_hscode,omitempty"` + + Eri_adncode *Eri_adncodeReqMutType `xml:"eri_adncode,omitempty"` + + Eri_conttype *Eri_conttypeReqMutType `xml:"eri_conttype,omitempty"` + + Eri_packtype *Eri_packtypeReqMutType `xml:"eri_packtype,omitempty"` + + Eri_shiptype *Eri_shiptypeReqMutType `xml:"eri_shiptype,omitempty"` + + Eri_country *Eri_countryReqMutType `xml:"eri_country,omitempty"` +} + +type StatReturnType struct { + XMLName xml.Name `xml:"http://rwsreftool/ statReturnType"` + + // 0=ok, 1=warning, 2=error + Err int32 `xml:"err,omitempty"` + + Message struct { + } `xml:"message,omitempty"` +} + +type Ris_idxType struct { + XMLName xml.Name `xml:"http://rwsreftool/ ris_idxType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + RisidxCode *RisCodeType `xml:"risidxCode,omitempty"` + + CodeOld *RisCodeType `xml:"codeOld,omitempty"` + + UnlocCC *UnlocCCType `xml:"unlocCC,omitempty"` + + UnlocLC *UnlocLCType `xml:"unlocLC,omitempty"` + + WwsectCode *FwCodeType `xml:"wwsectCode,omitempty"` + + Objcode *RisobjCodeType `xml:"objcode,omitempty"` + + Hectomt *KmCodeType `xml:"hectomt,omitempty"` + + Objfunc *RisobjfuncType `xml:"objfunc,omitempty"` + + Objname struct { + Loc *RislocNameType `xml:"Loc,omitempty"` + } `xml:"objname,omitempty"` + + Locname struct { + Loc *RislocNameType `xml:"Loc,omitempty"` + } `xml:"locname,omitempty"` + + Wwname struct { + Loc *RislocNameType `xml:"Loc,omitempty"` + } `xml:"wwname,omitempty"` + + Routename struct { + Loc *RislocNameType `xml:"Loc,omitempty"` + } `xml:"routename,omitempty"` + + Relrisindex *RisCodeType `xml:"relrisindex,omitempty"` + + Sectionnode *RissectnodeType `xml:"sectionnode,omitempty"` + + Lat *LatlonType `xml:"lat,omitempty"` + + Lon *LatlonType `xml:"lon,omitempty"` + + Relenc *RisrelencType `xml:"relenc,omitempty"` + + Comminfo *RiscomminfoType `xml:"comminfo,omitempty"` + + Gaugeid *RisgaugeidType `xml:"gaugeid,omitempty"` + + Vesselconvlength *DimType `xml:"vesselconvlength,omitempty"` + + Vesselconvbreadth *DimType `xml:"vesselconvbreadth,omitempty"` + + Vesselconvdraught *DimType `xml:"vesselconvdraught,omitempty"` + + Vesselconvairdraught *DimType `xml:"vesselconvairdraught,omitempty"` + + Availablelength *DimType `xml:"availablelength,omitempty"` + + Clearancewidth *DimType `xml:"clearancewidth,omitempty"` + + Availabledepth *DimType `xml:"availabledepth,omitempty"` + + Clearanceheight *DimType `xml:"clearanceheight,omitempty"` + + Applicabilityfromkm *RisapplikmType `xml:"applicabilityfromkm,omitempty"` + + Applicabilitytokm *RisapplikmType `xml:"applicabilitytokm,omitempty"` + + Reflevel1code *RisreflevelcodeType `xml:"reflevel1code,omitempty"` + + Reflevel1value *RisreflevelvalueType `xml:"reflevel1value,omitempty"` + + Reflevel2code *RisreflevelcodeType `xml:"reflevel2code,omitempty"` + + Reflevel2value *RisreflevelvalueType `xml:"reflevel2value,omitempty"` + + Reflevel3code *RisreflevelcodeType `xml:"reflevel3code,omitempty"` + + Reflevel3value *RisreflevelvalueType `xml:"reflevel3value,omitempty"` + + Zeropoint *RiszeropointType `xml:"zeropoint,omitempty"` + + Geodref *RisgeodrefType `xml:"geodref,omitempty"` + + Catoftimesched *RiscatoftimeschedType `xml:"catoftimesched,omitempty"` + + Forshiptype *RisforshiptypeType `xml:"forshiptype,omitempty"` + + Foruseofship *RisuseofshipType `xml:"foruseofship,omitempty"` + + LnktoextXMfiletimesched *RislinkextxmlType `xml:"lnktoextXMfiletimesched,omitempty"` + + LnktoextXMfilepastime *RislinkextxmlType `xml:"lnktoextXMfilepastime,omitempty"` + + Vesselconvlength2 *DimType `xml:"vesselconvlength2,omitempty"` + + Vesselconvbreadth2 *DimType `xml:"vesselconvbreadth2,omitempty"` + + Vesselconvdraught2 *DimType `xml:"vesselconvdraught2,omitempty"` + + Vesselconvairdraught2 *DimType `xml:"vesselconvairdraught2,omitempty"` + + Availablelength2 *DimType `xml:"availablelength2,omitempty"` + + Clearancewidth2 *DimType `xml:"clearancewidth2,omitempty"` + + Availabledepth2 *DimType `xml:"availabledepth2,omitempty"` + + Clearanceheight2 *DimType `xml:"clearanceheight2,omitempty"` + + Vesselconvlength3 *DimType `xml:"vesselconvlength3,omitempty"` + + Vesselconvbreadth3 *DimType `xml:"vesselconvbreadth3,omitempty"` + + Vesselconvdraught3 *DimType `xml:"vesselconvdraught3,omitempty"` + + Vesselconvairdraught3 *DimType `xml:"vesselconvairdraught3,omitempty"` + + Availablelength3 *DimType `xml:"availablelength3,omitempty"` + + Clearancewidth3 *DimType `xml:"clearancewidth3,omitempty"` + + Availabledepth3 *DimType `xml:"availabledepth3,omitempty"` + + Clearanceheight3 *DimType `xml:"clearanceheight3,omitempty"` + + Catoftimesched2 *RiscatoftimeschedType `xml:"catoftimesched2,omitempty"` + + Forshiptype2 *RisforshiptypeType `xml:"forshiptype2,omitempty"` + + Foruseofship2 *RisuseofshipType `xml:"foruseofship2,omitempty"` + + LnktoextXMfiletimesched2 *RislinkextxmlType `xml:"lnktoextXMfiletimesched2,omitempty"` + + LnktoextXMfilepastime2 *RislinkextxmlType `xml:"lnktoextXMfilepastime2,omitempty"` + + Catoftimesched3 *RiscatoftimeschedType `xml:"catoftimesched3,omitempty"` + + Forshiptype3 *RisforshiptypeType `xml:"forshiptype3,omitempty"` + + Foruseofship3 *RisuseofshipType `xml:"foruseofship3,omitempty"` + + LnktoextXMfiletimesched3 *RislinkextxmlType `xml:"lnktoextXMfiletimesched3,omitempty"` + + LnktoextXMfilepastime3 *RislinkextxmlType `xml:"lnktoextXMfilepastime3,omitempty"` + + Startdate *LastupdateType `xml:"startdate,omitempty"` + + Enddate *LastupdateType `xml:"enddate,omitempty"` + + Infodate *LastupdateType `xml:"infodate,omitempty"` + + // specific Ris idx remarks, reasons for change (descriptions as received with the ris idx) + RisidxRemarks *RemarksType `xml:"risidxRemarks,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + // remarks regarding the maintance of the ris idx + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_locationType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_locationType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + ErilocCode *ErilocCodeType `xml:"erilocCode,omitempty"` + + CodeOld *ErilocCodeType `xml:"codeOld,omitempty"` + + RisCode *RisCodeType `xml:"risCode,omitempty"` + + LoCode *LoCodeType `xml:"loCode,omitempty"` + + FwCode *FwCodeType `xml:"fwCode,omitempty"` + + TermCode *TermCodeType `xml:"termCode,omitempty"` + + KmCode *KmCodeType `xml:"kmCode,omitempty"` + + Name struct { + Loc *ErilocNameType `xml:"Loc,omitempty"` + + NL *ErilocNameType `xml:"NL,omitempty"` + + DE *ErilocNameType `xml:"DE,omitempty"` + + FR *ErilocNameType `xml:"FR,omitempty"` + + EN *ErilocNameType `xml:"EN,omitempty"` + } `xml:"name,omitempty"` + + LocType *LocTypeType `xml:"locType,omitempty"` + + Termname struct { + Loc *ErilocNameType `xml:"Loc,omitempty"` + + NL *ErilocNameType `xml:"NL,omitempty"` + + DE *ErilocNameType `xml:"DE,omitempty"` + + FR *ErilocNameType `xml:"FR,omitempty"` + + EN *ErilocNameType `xml:"EN,omitempty"` + } `xml:"termname,omitempty"` + + QuayFrom *QuayType `xml:"quayFrom,omitempty"` + + QuayTo *QuayType `xml:"quayTo,omitempty"` + + TermType *LocTypeType `xml:"termType,omitempty"` + + Lat *LatlonType `xml:"lat,omitempty"` + + Lon *LatlonType `xml:"lon,omitempty"` + + // VTS/IVS (code) acting as the default reporting (receiving) point (when departing from this llocation) + IvsVTSCode *LocVtsCodeType `xml:"ivsVTSCode,omitempty"` + + // Nr of possible exits (routes) when departing from this location >1 means a reporting or routepoint has to be specified. + Exits *LocExitsType `xml:"exits,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_hscodeType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_hscodeType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + HsCode *HsCodeType `xml:"hsCode,omitempty"` + + CodeOld *HsCodeType `xml:"codeOld,omitempty"` + + Name struct { + Loc *GoodNameType `xml:"Loc,omitempty"` + + NL *GoodNameType `xml:"NL,omitempty"` + + DE *GoodNameType `xml:"DE,omitempty"` + + FR *GoodNameType `xml:"FR,omitempty"` + + EN *GoodNameType `xml:"EN,omitempty"` + + BG *GoodNameType `xml:"BG,omitempty"` + + CS *GoodNameType `xml:"CS,omitempty"` + + DA *GoodNameType `xml:"DA,omitempty"` + + EL *GoodNameType `xml:"EL,omitempty"` + + ES *GoodNameType `xml:"ES,omitempty"` + + ET *GoodNameType `xml:"ET,omitempty"` + + FI *GoodNameType `xml:"FI,omitempty"` + + HU *GoodNameType `xml:"HU,omitempty"` + + IT *GoodNameType `xml:"IT,omitempty"` + + LT *GoodNameType `xml:"LT,omitempty"` + + LV *GoodNameType `xml:"LV,omitempty"` + + PL *GoodNameType `xml:"PL,omitempty"` + + PT *GoodNameType `xml:"PT,omitempty"` + + RO *GoodNameType `xml:"RO,omitempty"` + + SK *GoodNameType `xml:"SK,omitempty"` + + SL *GoodNameType `xml:"SL,omitempty"` + + SV *GoodNameType `xml:"SV,omitempty"` + + HR *GoodNameType `xml:"HR,omitempty"` + + RU *GoodNameType `xml:"RU,omitempty"` + + SR *GoodNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + NstCode *NstCodeType `xml:"nstCode,omitempty"` + + // English (NST2007) description. + NstName *GoodNameType `xml:"nstName,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_adncodeType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_adncodeType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + AdnCode *AdnCodeType `xml:"adnCode,omitempty"` + + CodeOld *AdnCodeType `xml:"codeOld,omitempty"` + + Unnr *UnnrType `xml:"unnr,omitempty"` + + AdnClass *AdnClassType `xml:"adnClass,omitempty"` + + AdnClassif *AdnClassType `xml:"adnClassif,omitempty"` + + ImoClass *AdnClassType `xml:"imoClass,omitempty"` + + PackGrp *PackGrpType `xml:"packGrp,omitempty"` + + Name struct { + Loc *GoodDgsNameType `xml:"Loc,omitempty"` + + NL *GoodDgsNameType `xml:"NL,omitempty"` + + DE *GoodDgsNameType `xml:"DE,omitempty"` + + FR *GoodDgsNameType `xml:"FR,omitempty"` + + EN *GoodDgsNameType `xml:"EN,omitempty"` + + BG *GoodDgsNameType `xml:"BG,omitempty"` + + CS *GoodDgsNameType `xml:"CS,omitempty"` + + DA *GoodDgsNameType `xml:"DA,omitempty"` + + EL *GoodDgsNameType `xml:"EL,omitempty"` + + ES *GoodDgsNameType `xml:"ES,omitempty"` + + ET *GoodDgsNameType `xml:"ET,omitempty"` + + FI *GoodDgsNameType `xml:"FI,omitempty"` + + HU *GoodDgsNameType `xml:"HU,omitempty"` + + IT *GoodDgsNameType `xml:"IT,omitempty"` + + LT *GoodDgsNameType `xml:"LT,omitempty"` + + LV *GoodDgsNameType `xml:"LV,omitempty"` + + PL *GoodDgsNameType `xml:"PL,omitempty"` + + PT *GoodDgsNameType `xml:"PT,omitempty"` + + RO *GoodDgsNameType `xml:"RO,omitempty"` + + SK *GoodDgsNameType `xml:"SK,omitempty"` + + SL *GoodDgsNameType `xml:"SL,omitempty"` + + SV *GoodDgsNameType `xml:"SV,omitempty"` + + HR *GoodDgsNameType `xml:"HR,omitempty"` + + RU *GoodDgsNameType `xml:"RU,omitempty"` + + SR *GoodDgsNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Syn struct { + Loc *GoodSynType `xml:"Loc,omitempty"` + + NL *GoodSynType `xml:"NL,omitempty"` + + DE *GoodSynType `xml:"DE,omitempty"` + + FR *GoodSynType `xml:"FR,omitempty"` + + EN *GoodSynType `xml:"EN,omitempty"` + + BG *GoodSynType `xml:"BG,omitempty"` + + CS *GoodSynType `xml:"CS,omitempty"` + + DA *GoodSynType `xml:"DA,omitempty"` + + EL *GoodSynType `xml:"EL,omitempty"` + + ES *GoodSynType `xml:"ES,omitempty"` + + ET *GoodSynType `xml:"ET,omitempty"` + + FI *GoodSynType `xml:"FI,omitempty"` + + HU *GoodSynType `xml:"HU,omitempty"` + + IT *GoodSynType `xml:"IT,omitempty"` + + LT *GoodSynType `xml:"LT,omitempty"` + + LV *GoodSynType `xml:"LV,omitempty"` + + PL *GoodSynType `xml:"PL,omitempty"` + + PT *GoodSynType `xml:"PT,omitempty"` + + RO *GoodSynType `xml:"RO,omitempty"` + + SK *GoodSynType `xml:"SK,omitempty"` + + SL *GoodSynType `xml:"SL,omitempty"` + + SV *GoodSynType `xml:"SV,omitempty"` + + HR *GoodSynType `xml:"HR,omitempty"` + + RU *GoodSynType `xml:"RU,omitempty"` + + SR *GoodSynType `xml:"SR,omitempty"` + } `xml:"syn,omitempty"` + + HsCode *HsCodeType `xml:"hsCode,omitempty"` + + NstCode *NstCodeType `xml:"nstCode,omitempty"` + + // 0, 1, 2, 3, V + ConesBulk *ConesType `xml:"conesBulk,omitempty"` + + ConesTank *ConesType `xml:"conesTank,omitempty"` + + ConesCont *ConesType `xml:"conesCont,omitempty"` + + // 0, B, V + FlagsBulk *FlagsType `xml:"flagsBulk,omitempty"` + + FlagsTank *FlagsType `xml:"flagsTank,omitempty"` + + WarnCard *WarnCardType `xml:"warnCard,omitempty"` + + WarnId *WarnIdType `xml:"warnId,omitempty"` + + Label1 *AdnLabelType `xml:"label1,omitempty"` + + Label2 *AdnLabelType `xml:"label2,omitempty"` + + Label3 *AdnLabelType `xml:"label3,omitempty"` + + MaxWeightCodeInlandBulkCont *SignalCodeType `xml:"maxWeightCodeInlandBulkCont,omitempty"` + + // max weight in kg + MaxWeightInlandBulkCont *WeightType `xml:"maxWeightInlandBulkCont,omitempty"` + + SignalCodeInlandCont *SignalCodeType `xml:"signalCodeInlandCont,omitempty"` + + // min weight in kg + MinWeightInlandCont *WeightType `xml:"minWeightInlandCont,omitempty"` + + SignalCodeInlandExcemp *SignalCodeType `xml:"signalCodeInlandExcemp,omitempty"` + + // min weight in kg + MinWeightInlandExcemp *WeightType `xml:"minWeightInlandExcemp,omitempty"` + + SignalCodeSeaBulk *SignalCodeType `xml:"signalCodeSeaBulk,omitempty"` + + // min weight in kg + MinWeightSeaBulk *WeightType `xml:"minWeightSeaBulk,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_conttypeType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_conttypeType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + ContId *ContIdType `xml:"contId,omitempty"` + + CodeOld *ContIdType `xml:"codeOld,omitempty"` + + // dimensions in cm + Length *DimType `xml:"length,omitempty"` + + Width *DimType `xml:"width,omitempty"` + + Height *DimType `xml:"height,omitempty"` + + // empty weight in kg + Weight *WeightType `xml:"weight,omitempty"` + + Name struct { + Loc *ContNameType `xml:"Loc,omitempty"` + + NL *ContNameType `xml:"NL,omitempty"` + + DE *ContNameType `xml:"DE,omitempty"` + + FR *ContNameType `xml:"FR,omitempty"` + + EN *ContNameType `xml:"EN,omitempty"` + + BG *ContNameType `xml:"BG,omitempty"` + + CS *ContNameType `xml:"CS,omitempty"` + + DA *ContNameType `xml:"DA,omitempty"` + + EL *ContNameType `xml:"EL,omitempty"` + + ES *ContNameType `xml:"ES,omitempty"` + + ET *ContNameType `xml:"ET,omitempty"` + + FI *ContNameType `xml:"FI,omitempty"` + + HU *ContNameType `xml:"HU,omitempty"` + + IT *ContNameType `xml:"IT,omitempty"` + + LT *ContNameType `xml:"LT,omitempty"` + + LV *ContNameType `xml:"LV,omitempty"` + + PL *ContNameType `xml:"PL,omitempty"` + + PT *ContNameType `xml:"PT,omitempty"` + + RO *ContNameType `xml:"RO,omitempty"` + + SK *ContNameType `xml:"SK,omitempty"` + + SL *ContNameType `xml:"SL,omitempty"` + + SV *ContNameType `xml:"SV,omitempty"` + + HR *ContNameType `xml:"HR,omitempty"` + + RU *ContNameType `xml:"RU,omitempty"` + + SR *ContNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_packtypeType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_packtypeType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + PackId *PackIdType `xml:"packId,omitempty"` + + CodeOld *PackIdType `xml:"codeOld,omitempty"` + + Name struct { + Loc *PackNameType `xml:"Loc,omitempty"` + + NL *PackNameType `xml:"NL,omitempty"` + + DE *PackNameType `xml:"DE,omitempty"` + + FR *PackNameType `xml:"FR,omitempty"` + + EN *PackNameType `xml:"EN,omitempty"` + + BG *PackNameType `xml:"BG,omitempty"` + + CS *PackNameType `xml:"CS,omitempty"` + + DA *PackNameType `xml:"DA,omitempty"` + + EL *PackNameType `xml:"EL,omitempty"` + + ES *PackNameType `xml:"ES,omitempty"` + + ET *PackNameType `xml:"ET,omitempty"` + + FI *PackNameType `xml:"FI,omitempty"` + + HU *PackNameType `xml:"HU,omitempty"` + + IT *PackNameType `xml:"IT,omitempty"` + + LT *PackNameType `xml:"LT,omitempty"` + + LV *PackNameType `xml:"LV,omitempty"` + + PL *PackNameType `xml:"PL,omitempty"` + + PT *PackNameType `xml:"PT,omitempty"` + + RO *PackNameType `xml:"RO,omitempty"` + + SK *PackNameType `xml:"SK,omitempty"` + + SL *PackNameType `xml:"SL,omitempty"` + + SV *PackNameType `xml:"SV,omitempty"` + + HR *PackNameType `xml:"HR,omitempty"` + + RU *PackNameType `xml:"RU,omitempty"` + + SR *PackNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_shiptypeType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_shiptypeType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + ShipType *ShipTypeType `xml:"shipType,omitempty"` + + CodeOld *ShipTypeType `xml:"codeOld,omitempty"` + + DvkType *DvkTypeType `xml:"dvkType,omitempty"` + + CraftType *CraftTypeType `xml:"craftType,omitempty"` + + // True = transport cominination type, false=single ship + Combination *CombinationFlagType `xml:"combination,omitempty"` + + Name struct { + Loc *ShiptypeNameType `xml:"Loc,omitempty"` + + NL *ShiptypeNameType `xml:"NL,omitempty"` + + DE *ShiptypeNameType `xml:"DE,omitempty"` + + FR *ShiptypeNameType `xml:"FR,omitempty"` + + EN *ShiptypeNameType `xml:"EN,omitempty"` + + BG *ShiptypeNameType `xml:"BG,omitempty"` + + CS *ShiptypeNameType `xml:"CS,omitempty"` + + DA *ShiptypeNameType `xml:"DA,omitempty"` + + EL *ShiptypeNameType `xml:"EL,omitempty"` + + ES *ShiptypeNameType `xml:"ES,omitempty"` + + ET *ShiptypeNameType `xml:"ET,omitempty"` + + FI *ShiptypeNameType `xml:"FI,omitempty"` + + HU *ShiptypeNameType `xml:"HU,omitempty"` + + IT *ShiptypeNameType `xml:"IT,omitempty"` + + LT *ShiptypeNameType `xml:"LT,omitempty"` + + LV *ShiptypeNameType `xml:"LV,omitempty"` + + PL *ShiptypeNameType `xml:"PL,omitempty"` + + PT *ShiptypeNameType `xml:"PT,omitempty"` + + RO *ShiptypeNameType `xml:"RO,omitempty"` + + SK *ShiptypeNameType `xml:"SK,omitempty"` + + SL *ShiptypeNameType `xml:"SL,omitempty"` + + SV *ShiptypeNameType `xml:"SV,omitempty"` + + HR *ShiptypeNameType `xml:"HR,omitempty"` + + RU *ShiptypeNameType `xml:"RU,omitempty"` + + SR *ShiptypeNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_countryType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_countryType"` + + // UN country ISO code 2 chars. Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + CountryCode *CountryCodeType `xml:"countryCode,omitempty"` + + CodeOld *CountryCodeType `xml:"codeOld,omitempty"` + + CbsCode *CbscountryCodeType `xml:"cbsCode,omitempty"` + + CountryIsoCode3 *CountryCode3Type `xml:"countryIsoCode3,omitempty"` + + CountryIsoNum *CountryIsoNumType `xml:"countryIsoNum,omitempty"` + + LloydsFlag *LloydsflagType `xml:"lloydsFlag,omitempty"` + + Name struct { + Loc *CountryNameType `xml:"Loc,omitempty"` + + NL *CountryNameType `xml:"NL,omitempty"` + + DE *CountryNameType `xml:"DE,omitempty"` + + FR *CountryNameType `xml:"FR,omitempty"` + + EN *CountryNameType `xml:"EN,omitempty"` + + BG *CountryNameType `xml:"BG,omitempty"` + + CS *CountryNameType `xml:"CS,omitempty"` + + DA *CountryNameType `xml:"DA,omitempty"` + + EL *CountryNameType `xml:"EL,omitempty"` + + ES *CountryNameType `xml:"ES,omitempty"` + + ET *CountryNameType `xml:"ET,omitempty"` + + FI *CountryNameType `xml:"FI,omitempty"` + + HU *CountryNameType `xml:"HU,omitempty"` + + IT *CountryNameType `xml:"IT,omitempty"` + + LT *CountryNameType `xml:"LT,omitempty"` + + LV *CountryNameType `xml:"LV,omitempty"` + + PL *CountryNameType `xml:"PL,omitempty"` + + PT *CountryNameType `xml:"PT,omitempty"` + + RO *CountryNameType `xml:"RO,omitempty"` + + SK *CountryNameType `xml:"SK,omitempty"` + + SL *CountryNameType `xml:"SL,omitempty"` + + SV *CountryNameType `xml:"SV,omitempty"` + + HR *CountryNameType `xml:"HR,omitempty"` + + RU *CountryNameType `xml:"RU,omitempty"` + + SR *CountryNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Nts_dataType struct { + XMLName xml.Name `xml:"http://rwsreftool/ nts_dataType"` + + // Just a string (no enum) to return nts data type of the nts_data returned! + // reftype already contains datatype. + Ntstype *NtstypeType `xml:"ntstype,omitempty"` + + Ntscode *NtsCodeType `xml:"ntscode,omitempty"` + + CodeOld *NtsCodeType `xml:"codeOld,omitempty"` + + Name struct { + Loc *NtsNameType `xml:"Loc,omitempty"` + + NL *NtsNameType `xml:"NL,omitempty"` + + DE *NtsNameType `xml:"DE,omitempty"` + + EN *NtsNameType `xml:"EN,omitempty"` + + FR *NtsNameType `xml:"FR,omitempty"` + + BG *NtsNameType `xml:"BG,omitempty"` + + CS *NtsNameType `xml:"CS,omitempty"` + + DA *NtsNameType `xml:"DA,omitempty"` + + EL *NtsNameType `xml:"EL,omitempty"` + + ES *NtsNameType `xml:"ES,omitempty"` + + ET *NtsNameType `xml:"ET,omitempty"` + + FI *NtsNameType `xml:"FI,omitempty"` + + HU *NtsNameType `xml:"HU,omitempty"` + + IT *NtsNameType `xml:"IT,omitempty"` + + LT *NtsNameType `xml:"LT,omitempty"` + + LV *NtsNameType `xml:"LV,omitempty"` + + PL *NtsNameType `xml:"PL,omitempty"` + + PT *NtsNameType `xml:"PT,omitempty"` + + RO *NtsNameType `xml:"RO,omitempty"` + + SK *NtsNameType `xml:"SK,omitempty"` + + SL *NtsNameType `xml:"SL,omitempty"` + + SV *NtsNameType `xml:"SV,omitempty"` + + HR *NtsNameType `xml:"HR,omitempty"` + + RU *NtsNameType `xml:"RU,omitempty"` + + SR *NtsNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Ris_idxReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ ris_idxReqMutType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + RisidxCode *RisCodeType `xml:"risidxCode,omitempty"` + + CodeOld *RisCodeType `xml:"codeOld,omitempty"` + + UnlocCC *UnlocCCType `xml:"unlocCC,omitempty"` + + UnlocLC *UnlocLCType `xml:"unlocLC,omitempty"` + + WwsectCode *FwCodeType `xml:"wwsectCode,omitempty"` + + Objcode *RisobjCodeType `xml:"objcode,omitempty"` + + Hectomt *KmCodeType `xml:"hectomt,omitempty"` + + Objfunc *RisobjfuncType `xml:"objfunc,omitempty"` + + Objname struct { + Loc *RislocNameType `xml:"Loc,omitempty"` + } `xml:"objname,omitempty"` + + Locname struct { + Loc *RislocNameType `xml:"Loc,omitempty"` + } `xml:"locname,omitempty"` + + Wwname struct { + Loc *RislocNameType `xml:"Loc,omitempty"` + } `xml:"wwname,omitempty"` + + Routename struct { + Loc *RislocNameType `xml:"Loc,omitempty"` + } `xml:"routename,omitempty"` + + Relrisindex *RisCodeType `xml:"relrisindex,omitempty"` + + Sectionnode *RissectnodeType `xml:"sectionnode,omitempty"` + + Lat *LatlonType `xml:"lat,omitempty"` + + Lon *LatlonType `xml:"lon,omitempty"` + + Relenc *RisrelencType `xml:"relenc,omitempty"` + + Comminfo *RiscomminfoType `xml:"comminfo,omitempty"` + + Gaugeid *RisgaugeidType `xml:"gaugeid,omitempty"` + + Vesselconvlength *DimType `xml:"vesselconvlength,omitempty"` + + Vesselconvbreadth *DimType `xml:"vesselconvbreadth,omitempty"` + + Vesselconvdraught *DimType `xml:"vesselconvdraught,omitempty"` + + Vesselconvairdraught *DimType `xml:"vesselconvairdraught,omitempty"` + + Availablelength *DimType `xml:"availablelength,omitempty"` + + Clearancewidth *DimType `xml:"clearancewidth,omitempty"` + + Availabledepth *DimType `xml:"availabledepth,omitempty"` + + Clearanceheight *DimType `xml:"clearanceheight,omitempty"` + + Applicabilityfromkm *RisapplikmType `xml:"applicabilityfromkm,omitempty"` + + Applicabilitytokm *RisapplikmType `xml:"applicabilitytokm,omitempty"` + + Reflevel1code *RisreflevelcodeType `xml:"reflevel1code,omitempty"` + + Reflevel1value *RisreflevelvalueType `xml:"reflevel1value,omitempty"` + + Reflevel2code *RisreflevelcodeType `xml:"reflevel2code,omitempty"` + + Reflevel2value *RisreflevelvalueType `xml:"reflevel2value,omitempty"` + + Reflevel3code *RisreflevelcodeType `xml:"reflevel3code,omitempty"` + + Reflevel3value *RisreflevelvalueType `xml:"reflevel3value,omitempty"` + + Zeropoint *RiszeropointType `xml:"zeropoint,omitempty"` + + Geodref *RisgeodrefType `xml:"geodref,omitempty"` + + Catoftimesched *RiscatoftimeschedType `xml:"catoftimesched,omitempty"` + + Forshiptype *RisforshiptypeType `xml:"forshiptype,omitempty"` + + Foruseofship *RisuseofshipType `xml:"foruseofship,omitempty"` + + LnktoextXMfiletimesched *RislinkextxmlType `xml:"lnktoextXMfiletimesched,omitempty"` + + LnktoextXMfilepastime *RislinkextxmlType `xml:"lnktoextXMfilepastime,omitempty"` + + Vesselconvlength2 *DimType `xml:"vesselconvlength2,omitempty"` + + Vesselconvbreadth2 *DimType `xml:"vesselconvbreadth2,omitempty"` + + Vesselconvdraught2 *DimType `xml:"vesselconvdraught2,omitempty"` + + Vesselconvairdraught2 *DimType `xml:"vesselconvairdraught2,omitempty"` + + Availablelength2 *DimType `xml:"availablelength2,omitempty"` + + Clearancewidth2 *DimType `xml:"clearancewidth2,omitempty"` + + Availabledepth2 *DimType `xml:"availabledepth2,omitempty"` + + Clearanceheight2 *DimType `xml:"clearanceheight2,omitempty"` + + Vesselconvlength3 *DimType `xml:"vesselconvlength3,omitempty"` + + Vesselconvbreadth3 *DimType `xml:"vesselconvbreadth3,omitempty"` + + Vesselconvdraught3 *DimType `xml:"vesselconvdraught3,omitempty"` + + Vesselconvairdraught3 *DimType `xml:"vesselconvairdraught3,omitempty"` + + Availablelength3 *DimType `xml:"availablelength3,omitempty"` + + Clearancewidth3 *DimType `xml:"clearancewidth3,omitempty"` + + Availabledepth3 *DimType `xml:"availabledepth3,omitempty"` + + Clearanceheight3 *DimType `xml:"clearanceheight3,omitempty"` + + Catoftimesched2 *RiscatoftimeschedType `xml:"catoftimesched2,omitempty"` + + Forshiptype2 *RisforshiptypeType `xml:"forshiptype2,omitempty"` + + Foruseofship2 *RisuseofshipType `xml:"foruseofship2,omitempty"` + + LnktoextXMfiletimesched2 *RislinkextxmlType `xml:"lnktoextXMfiletimesched2,omitempty"` + + LnktoextXMfilepastime2 *RislinkextxmlType `xml:"lnktoextXMfilepastime2,omitempty"` + + Catoftimesched3 *RiscatoftimeschedType `xml:"catoftimesched3,omitempty"` + + Forshiptype3 *RisforshiptypeType `xml:"forshiptype3,omitempty"` + + Foruseofship3 *RisuseofshipType `xml:"foruseofship3,omitempty"` + + LnktoextXMfiletimesched3 *RislinkextxmlType `xml:"lnktoextXMfiletimesched3,omitempty"` + + LnktoextXMfilepastime3 *RislinkextxmlType `xml:"lnktoextXMfilepastime3,omitempty"` + + Startdate *LastupdateType `xml:"startdate,omitempty"` + + Enddate *LastupdateType `xml:"enddate,omitempty"` + + Infodate *LastupdateType `xml:"infodate,omitempty"` + + // specific Ris idx remarks/reasons for change, as received with the ris idx + RisidxRemarks *RemarksType `xml:"risidxRemarks,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + // remarks regarding the maintance of the ris idx + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_locationReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_locationReqMutType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + ErilocCode *ErilocCodeType `xml:"erilocCode,omitempty"` + + CodeOld *ErilocCodeType `xml:"codeOld,omitempty"` + + RisCode *RisCodeType `xml:"risCode,omitempty"` + + LoCode *LoCodeType `xml:"loCode,omitempty"` + + FwCode *FwCodeType `xml:"fwCode,omitempty"` + + TermCode *TermCodeType `xml:"termCode,omitempty"` + + KmCode *KmCodeType `xml:"kmCode,omitempty"` + + Name struct { + Loc *ErilocNameType `xml:"Loc,omitempty"` + + NL *ErilocNameType `xml:"NL,omitempty"` + + DE *ErilocNameType `xml:"DE,omitempty"` + + FR *ErilocNameType `xml:"FR,omitempty"` + + EN *ErilocNameType `xml:"EN,omitempty"` + } `xml:"name,omitempty"` + + LocType *LocTypeType `xml:"locType,omitempty"` + + Termname struct { + Loc *ErilocNameType `xml:"Loc,omitempty"` + + NL *ErilocNameType `xml:"NL,omitempty"` + + DE *ErilocNameType `xml:"DE,omitempty"` + + FR *ErilocNameType `xml:"FR,omitempty"` + + EN *ErilocNameType `xml:"EN,omitempty"` + } `xml:"termname,omitempty"` + + QuayFrom *QuayType `xml:"quayFrom,omitempty"` + + QuayTo *QuayType `xml:"quayTo,omitempty"` + + TermType *LocTypeType `xml:"termType,omitempty"` + + Lat *LatlonType `xml:"lat,omitempty"` + + Lon *LatlonType `xml:"lon,omitempty"` + + IvsVTSCode *LocVtsCodeType `xml:"ivsVTSCode,omitempty"` + + Exits *LocExitsType `xml:"exits,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_hscodeReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_hscodeReqMutType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + HsCode *HsCodeType `xml:"hsCode,omitempty"` + + CodeOld *HsCodeType `xml:"codeOld,omitempty"` + + Name struct { + Loc *GoodNameType `xml:"Loc,omitempty"` + + NL *GoodNameType `xml:"NL,omitempty"` + + DE *GoodNameType `xml:"DE,omitempty"` + + FR *GoodNameType `xml:"FR,omitempty"` + + EN *GoodNameType `xml:"EN,omitempty"` + + BG *GoodNameType `xml:"BG,omitempty"` + + CS *GoodNameType `xml:"CS,omitempty"` + + DA *GoodNameType `xml:"DA,omitempty"` + + EL *GoodNameType `xml:"EL,omitempty"` + + ES *GoodNameType `xml:"ES,omitempty"` + + ET *GoodNameType `xml:"ET,omitempty"` + + FI *GoodNameType `xml:"FI,omitempty"` + + HU *GoodNameType `xml:"HU,omitempty"` + + IT *GoodNameType `xml:"IT,omitempty"` + + LT *GoodNameType `xml:"LT,omitempty"` + + LV *GoodNameType `xml:"LV,omitempty"` + + PL *GoodNameType `xml:"PL,omitempty"` + + PT *GoodNameType `xml:"PT,omitempty"` + + RO *GoodNameType `xml:"RO,omitempty"` + + SK *GoodNameType `xml:"SK,omitempty"` + + SL *GoodNameType `xml:"SL,omitempty"` + + SV *GoodNameType `xml:"SV,omitempty"` + + HR *GoodNameType `xml:"HR,omitempty"` + + RU *GoodNameType `xml:"RU,omitempty"` + + SR *GoodNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + NstCode *NstCodeType `xml:"nstCode,omitempty"` + + NstName *GoodNameType `xml:"nstName,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_adncodeReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_adncodeReqMutType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + AdnCode *AdnCodeType `xml:"adnCode,omitempty"` + + CodeOld *AdnCodeType `xml:"codeOld,omitempty"` + + Unnr *UnnrType `xml:"unnr,omitempty"` + + AdnClass *AdnClassType `xml:"adnClass,omitempty"` + + AdnClassif *AdnClassType `xml:"adnClassif,omitempty"` + + ImoClass *AdnClassType `xml:"imoClass,omitempty"` + + PackGrp *PackGrpType `xml:"packGrp,omitempty"` + + Name struct { + Loc *GoodDgsNameType `xml:"Loc,omitempty"` + + NL *GoodDgsNameType `xml:"NL,omitempty"` + + DE *GoodDgsNameType `xml:"DE,omitempty"` + + FR *GoodDgsNameType `xml:"FR,omitempty"` + + EN *GoodDgsNameType `xml:"EN,omitempty"` + + BG *GoodDgsNameType `xml:"BG,omitempty"` + + CS *GoodDgsNameType `xml:"CS,omitempty"` + + DA *GoodDgsNameType `xml:"DA,omitempty"` + + EL *GoodDgsNameType `xml:"EL,omitempty"` + + ES *GoodDgsNameType `xml:"ES,omitempty"` + + ET *GoodDgsNameType `xml:"ET,omitempty"` + + FI *GoodDgsNameType `xml:"FI,omitempty"` + + HU *GoodDgsNameType `xml:"HU,omitempty"` + + IT *GoodDgsNameType `xml:"IT,omitempty"` + + LT *GoodDgsNameType `xml:"LT,omitempty"` + + LV *GoodDgsNameType `xml:"LV,omitempty"` + + PL *GoodDgsNameType `xml:"PL,omitempty"` + + PT *GoodDgsNameType `xml:"PT,omitempty"` + + RO *GoodDgsNameType `xml:"RO,omitempty"` + + SK *GoodDgsNameType `xml:"SK,omitempty"` + + SL *GoodDgsNameType `xml:"SL,omitempty"` + + SV *GoodDgsNameType `xml:"SV,omitempty"` + + HR *GoodDgsNameType `xml:"HR,omitempty"` + + RU *GoodDgsNameType `xml:"RU,omitempty"` + + SR *GoodDgsNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Syn struct { + Loc *GoodSynType `xml:"Loc,omitempty"` + + NL *GoodSynType `xml:"NL,omitempty"` + + DE *GoodSynType `xml:"DE,omitempty"` + + FR *GoodSynType `xml:"FR,omitempty"` + + EN *GoodSynType `xml:"EN,omitempty"` + + BG *GoodSynType `xml:"BG,omitempty"` + + CS *GoodSynType `xml:"CS,omitempty"` + + DA *GoodSynType `xml:"DA,omitempty"` + + EL *GoodSynType `xml:"EL,omitempty"` + + ES *GoodSynType `xml:"ES,omitempty"` + + ET *GoodSynType `xml:"ET,omitempty"` + + FI *GoodSynType `xml:"FI,omitempty"` + + HU *GoodSynType `xml:"HU,omitempty"` + + IT *GoodSynType `xml:"IT,omitempty"` + + LT *GoodSynType `xml:"LT,omitempty"` + + LV *GoodSynType `xml:"LV,omitempty"` + + PL *GoodSynType `xml:"PL,omitempty"` + + PT *GoodSynType `xml:"PT,omitempty"` + + RO *GoodSynType `xml:"RO,omitempty"` + + SK *GoodSynType `xml:"SK,omitempty"` + + SL *GoodSynType `xml:"SL,omitempty"` + + SV *GoodSynType `xml:"SV,omitempty"` + + HR *GoodSynType `xml:"HR,omitempty"` + + RU *GoodSynType `xml:"RU,omitempty"` + + SR *GoodSynType `xml:"SR,omitempty"` + } `xml:"syn,omitempty"` + + HsCode *HsCodeType `xml:"hsCode,omitempty"` + + NstCode *NstCodeType `xml:"nstCode,omitempty"` + + // 0, 1, 2, 3, V (Inland) + ConesBulk *ConesType `xml:"conesBulk,omitempty"` + + ConesTank *ConesType `xml:"conesTank,omitempty"` + + ConesCont *ConesType `xml:"conesCont,omitempty"` + + // 0, B, V (Seagoing) + FlagsBulk *FlagsType `xml:"flagsBulk,omitempty"` + + FlagsTank *FlagsType `xml:"flagsTank,omitempty"` + + WarnCard *WarnCardType `xml:"warnCard,omitempty"` + + WarnId *WarnIdType `xml:"warnId,omitempty"` + + Label1 *AdnLabelType `xml:"label1,omitempty"` + + Label2 *AdnLabelType `xml:"label2,omitempty"` + + Label3 *AdnLabelType `xml:"label3,omitempty"` + + MaxWeightCodeInlandBulkCont *SignalCodeType `xml:"maxWeightCodeInlandBulkCont,omitempty"` + + // max weight in kg + MaxWeightInlandBulkCont *WeightType `xml:"maxWeightInlandBulkCont,omitempty"` + + SignalCodeInlandCont *SignalCodeType `xml:"signalCodeInlandCont,omitempty"` + + // min weight in kg + MinWeightInlandCont *WeightType `xml:"minWeightInlandCont,omitempty"` + + SignalCodeInlandExcemp *SignalCodeType `xml:"signalCodeInlandExcemp,omitempty"` + + // min weight in kg + MinWeightInlandExcemp *WeightType `xml:"minWeightInlandExcemp,omitempty"` + + SignalCodeSeaBulk *SignalCodeType `xml:"signalCodeSeaBulk,omitempty"` + + // min weight in kg + MinWeightSeaBulk *WeightType `xml:"minWeightSeaBulk,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_conttypeReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_conttypeReqMutType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + ContId *ContIdType `xml:"contId,omitempty"` + + CodeOld *ContIdType `xml:"codeOld,omitempty"` + + // dimensions in cm + Length *DimType `xml:"length,omitempty"` + + Width *DimType `xml:"width,omitempty"` + + Height *DimType `xml:"height,omitempty"` + + // empty weight in kg + Weight *DimType `xml:"weight,omitempty"` + + Name struct { + Loc *ContNameType `xml:"Loc,omitempty"` + + NL *ContNameType `xml:"NL,omitempty"` + + DE *ContNameType `xml:"DE,omitempty"` + + FR *ContNameType `xml:"FR,omitempty"` + + EN *ContNameType `xml:"EN,omitempty"` + + BG *ContNameType `xml:"BG,omitempty"` + + CS *ContNameType `xml:"CS,omitempty"` + + DA *ContNameType `xml:"DA,omitempty"` + + EL *ContNameType `xml:"EL,omitempty"` + + ES *ContNameType `xml:"ES,omitempty"` + + ET *ContNameType `xml:"ET,omitempty"` + + FI *ContNameType `xml:"FI,omitempty"` + + HU *ContNameType `xml:"HU,omitempty"` + + IT *ContNameType `xml:"IT,omitempty"` + + LT *ContNameType `xml:"LT,omitempty"` + + LV *ContNameType `xml:"LV,omitempty"` + + PL *ContNameType `xml:"PL,omitempty"` + + PT *ContNameType `xml:"PT,omitempty"` + + RO *ContNameType `xml:"RO,omitempty"` + + SK *ContNameType `xml:"SK,omitempty"` + + SL *ContNameType `xml:"SL,omitempty"` + + SV *ContNameType `xml:"SV,omitempty"` + + HR *ContNameType `xml:"HR,omitempty"` + + RU *ContNameType `xml:"RU,omitempty"` + + SR *ContNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_packtypeReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_packtypeReqMutType"` + + // Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + PackId *PackIdType `xml:"packId,omitempty"` + + CodeOld *PackIdType `xml:"codeOld,omitempty"` + + Name struct { + Loc *PackNameType `xml:"Loc,omitempty"` + + NL *PackNameType `xml:"NL,omitempty"` + + DE *PackNameType `xml:"DE,omitempty"` + + FR *PackNameType `xml:"FR,omitempty"` + + EN *PackNameType `xml:"EN,omitempty"` + + BG *PackNameType `xml:"BG,omitempty"` + + CS *PackNameType `xml:"CS,omitempty"` + + DA *PackNameType `xml:"DA,omitempty"` + + EL *PackNameType `xml:"EL,omitempty"` + + ES *PackNameType `xml:"ES,omitempty"` + + ET *PackNameType `xml:"ET,omitempty"` + + FI *PackNameType `xml:"FI,omitempty"` + + HU *PackNameType `xml:"HU,omitempty"` + + IT *PackNameType `xml:"IT,omitempty"` + + LT *PackNameType `xml:"LT,omitempty"` + + LV *PackNameType `xml:"LV,omitempty"` + + PL *PackNameType `xml:"PL,omitempty"` + + PT *PackNameType `xml:"PT,omitempty"` + + RO *PackNameType `xml:"RO,omitempty"` + + SK *PackNameType `xml:"SK,omitempty"` + + SL *PackNameType `xml:"SL,omitempty"` + + SV *PackNameType `xml:"SV,omitempty"` + + HR *PackNameType `xml:"HR,omitempty"` + + RU *PackNameType `xml:"RU,omitempty"` + + SR *PackNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_shiptypeReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_shiptypeReqMutType"` + + // UN rec 28. Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + ShipType *ShipTypeType `xml:"shipType,omitempty"` + + CodeOld *ShipTypeType `xml:"codeOld,omitempty"` + + DvkType *DvkTypeType `xml:"dvkType,omitempty"` + + CraftType *CraftTypeType `xml:"craftType,omitempty"` + + // True = transport cominination type, false=single ship + Combination *CombinationFlagType `xml:"combination,omitempty"` + + Name struct { + Loc *ShiptypeNameType `xml:"Loc,omitempty"` + + NL *ShiptypeNameType `xml:"NL,omitempty"` + + DE *ShiptypeNameType `xml:"DE,omitempty"` + + FR *ShiptypeNameType `xml:"FR,omitempty"` + + EN *ShiptypeNameType `xml:"EN,omitempty"` + + BG *ShiptypeNameType `xml:"BG,omitempty"` + + CS *ShiptypeNameType `xml:"CS,omitempty"` + + DA *ShiptypeNameType `xml:"DA,omitempty"` + + EL *ShiptypeNameType `xml:"EL,omitempty"` + + ES *ShiptypeNameType `xml:"ES,omitempty"` + + ET *ShiptypeNameType `xml:"ET,omitempty"` + + FI *ShiptypeNameType `xml:"FI,omitempty"` + + HU *ShiptypeNameType `xml:"HU,omitempty"` + + IT *ShiptypeNameType `xml:"IT,omitempty"` + + LT *ShiptypeNameType `xml:"LT,omitempty"` + + LV *ShiptypeNameType `xml:"LV,omitempty"` + + PL *ShiptypeNameType `xml:"PL,omitempty"` + + PT *ShiptypeNameType `xml:"PT,omitempty"` + + RO *ShiptypeNameType `xml:"RO,omitempty"` + + SK *ShiptypeNameType `xml:"SK,omitempty"` + + SL *ShiptypeNameType `xml:"SL,omitempty"` + + SV *ShiptypeNameType `xml:"SV,omitempty"` + + HR *ShiptypeNameType `xml:"HR,omitempty"` + + RU *ShiptypeNameType `xml:"RU,omitempty"` + + SR *ShiptypeNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type Eri_countryReqMutType struct { + XMLName xml.Name `xml:"http://rwsreftool/ eri_countryReqMutType"` + + // UN country ISO code 2 chars. Be sure to edit, change the basic Simpletypes, dont edit any of the (sub)elements from here!!! + CountryCode *CountryCodeType `xml:"countryCode,omitempty"` + + CodeOld *CountryCodeType `xml:"codeOld,omitempty"` + + CbsCode *CbscountryCodeType `xml:"cbsCode,omitempty"` + + CountryIsoCode3 *CountryCode3Type `xml:"countryIsoCode3,omitempty"` + + CountryIsoNum *CountryIsoNumType `xml:"countryIsoNum,omitempty"` + + LloydsFlag *LloydsflagType `xml:"lloydsFlag,omitempty"` + + Name struct { + Loc *CountryNameType `xml:"Loc,omitempty"` + + NL *CountryNameType `xml:"NL,omitempty"` + + DE *CountryNameType `xml:"DE,omitempty"` + + FR *CountryNameType `xml:"FR,omitempty"` + + EN *CountryNameType `xml:"EN,omitempty"` + + BG *CountryNameType `xml:"BG,omitempty"` + + CS *CountryNameType `xml:"CS,omitempty"` + + DA *CountryNameType `xml:"DA,omitempty"` + + EL *CountryNameType `xml:"EL,omitempty"` + + ES *CountryNameType `xml:"ES,omitempty"` + + ET *CountryNameType `xml:"ET,omitempty"` + + FI *CountryNameType `xml:"FI,omitempty"` + + HU *CountryNameType `xml:"HU,omitempty"` + + IT *CountryNameType `xml:"IT,omitempty"` + + LT *CountryNameType `xml:"LT,omitempty"` + + LV *CountryNameType `xml:"LV,omitempty"` + + PL *CountryNameType `xml:"PL,omitempty"` + + PT *CountryNameType `xml:"PT,omitempty"` + + RO *CountryNameType `xml:"RO,omitempty"` + + SK *CountryNameType `xml:"SK,omitempty"` + + SL *CountryNameType `xml:"SL,omitempty"` + + SV *CountryNameType `xml:"SV,omitempty"` + + HR *CountryNameType `xml:"HR,omitempty"` + + RU *CountryNameType `xml:"RU,omitempty"` + + SR *CountryNameType `xml:"SR,omitempty"` + } `xml:"name,omitempty"` + + Source *SourceType `xml:"source,omitempty"` + + Remarks *RemarksType `xml:"remarks,omitempty"` + + Version *RefrecVersionType `xml:"version,omitempty"` + + Erased *ErasedType `xml:"erased,omitempty"` + + Lastupdate *LastupdateType `xml:"lastupdate,omitempty"` +} + +type RefWeb interface { + + // Error can be either of the following types: + // + // - exception + + MatchByCode(request *MatchByCode) (*MatchByCodeResponse, error) + + // Error can be either of the following types: + // + // - exception + + MatchByName(request *MatchByName) (*MatchByNameResponse, error) + + // Error can be either of the following types: + // + // - exception + + GetMutations(request *GetMutations) (*GetMutationsResponse, error) + + // Error can be either of the following types: + // + // - exception + + GetDataXML(request *GetDataXML) (*GetDataXMLResponse, error) + + // Error can be either of the following types: + // + // - exception + + GetRisDataXML(request *GetRisDataXML) (*GetRisDataXMLResponse, error) + + // Error can be either of the following types: + // + // - exception + + MutateDataXML(request *MutateDataXML) (*MutateDataXMLResponse, error) + + // Error can be either of the following types: + // + // - exception + + RequestMutationXML(request *RequestMutationXML) (*RequestMutationXMLResponse, error) +} + +type refWeb struct { + client *soap.SOAPClient +} + +func NewRefWeb(client *soap.SOAPClient) RefWeb { + return &refWeb{ + client: client, + } +} + +func (service *refWeb) MatchByCode(request *MatchByCode) (*MatchByCodeResponse, error) { + response := new(MatchByCodeResponse) + err := service.client.Call("", request, response) + if err != nil { + return nil, err + } + + return response, nil +} + +func (service *refWeb) MatchByName(request *MatchByName) (*MatchByNameResponse, error) { + response := new(MatchByNameResponse) + err := service.client.Call("", request, response) + if err != nil { + return nil, err + } + + return response, nil +} + +func (service *refWeb) GetMutations(request *GetMutations) (*GetMutationsResponse, error) { + response := new(GetMutationsResponse) + err := service.client.Call("", request, response) + if err != nil { + return nil, err + } + + return response, nil +} + +func (service *refWeb) GetDataXML(request *GetDataXML) (*GetDataXMLResponse, error) { + response := new(GetDataXMLResponse) + err := service.client.Call("", request, response) + if err != nil { + return nil, err + } + + return response, nil +} + +func (service *refWeb) GetRisDataXML(request *GetRisDataXML) (*GetRisDataXMLResponse, error) { + response := new(GetRisDataXMLResponse) + err := service.client.Call("", request, response) + if err != nil { + return nil, err + } + + return response, nil +} + +func (service *refWeb) MutateDataXML(request *MutateDataXML) (*MutateDataXMLResponse, error) { + response := new(MutateDataXMLResponse) + err := service.client.Call("", request, response) + if err != nil { + return nil, err + } + + return response, nil +} + +func (service *refWeb) RequestMutationXML(request *RequestMutationXML) (*RequestMutationXMLResponse, error) { + response := new(RequestMutationXMLResponse) + err := service.client.Call("", request, response) + if err != nil { + return nil, err + } + + return response, nil +}