# Bundle

## Description

Bundle is a special request in which one or more single request(s) to a specific device can be bundled. All requests sent to this device make use of one communication channel, which may improve performance considerably.

[GetBundleResponse](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/bundling/getbundleresponse) returns the result of the actions of the bundle. The response contains the DeviceIdentification and CorrelationUid which is received from the Bundle request.

The Bundle request has an **Actions** tag. This contains a list of one or more single request(s). The response behavior is described in [ResponseMessages](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/responsemessages).

## Actions

Currently, the following actions are supported:

* FindEventsRequest see [FindEvents](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/management/findevents)
* SetSpecialDaysRequest see [SetSpecialDays](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setspecialdays)
* ReadAlarmRegisterRequest see [ReadAlarmRegister](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/monitoring/readalarmregister)
* GetActualMeterReadsRequest see [ReadAlarmRegister](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/monitoring/readalarmregister)
* GetActualMeterReadsGasRequest see [GetActualMeterReadsGas](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/monitoring/getactualmeterreadsgas)
* GetAdministrativeStatusRequest see [GetAdministrativeStatus](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/getadministrativestatus)
* GetPeriodicMeterReadsRequest see [GetPeriodicMeterReads](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/monitoring/getperiodicmeterreads)
* GetPeriodicMeterReadsGasRequest see [GetPeriodicMeterReadsGas](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/monitoring/getperiodicmeterreadsgas)
* SetAdministrativeStatusRequest see [SetAdministrativeStatus](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setadministrativestatus)
* SetActivityCalendarRequest see [SetActivityCalendar](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setactivitycalendar)
* SetKeyOnGMeterRequest see [SetKeyOnGMeter](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setkeyongmeter)
* SetAlarmNotificationsRequest see [SetAlarmNotifications](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setalarmnotifications)
* SetConfigurationObjectRequest see [SetConfigurationObject](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setconfigurationobject)
* SetPushSetupAlarmRequest see [SetPushSetupAlarm](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setpushsetupalarm)
* SetPushSetupSmsRequest see [SetPushSetupSms](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setpushsetupsms)
* SynchronizeTimeRequest see [SynchronizeTime](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/adhocmanagement/synchronizetime)
* GetConfigurationRequest
* GetFirmwareVersionRequest
* UpdateFirmwareRequest see [UpdateFirmware](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/updatefirmware)
* GetSpecificConfigurationObjectRequest see [SpecificConfigurationObject](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/adhocmanagement/specificconfigurationobject)
* SetKeysRequest
* GetAssociationLnObjectsRequest
* SetClockConfigurationRequest [SetClockConfiguration](https://github.com/OSGP/Documentation/tree/805a7da4c3cbf27ddb6aed765ebc7a7eab320933/Domains/Smartmetering/smartmeteringwebservices/SetClockConfiguration.md)
* GetProfileGenericDataRequest see [GetProfileGenericData](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/monitoring/getprofilegenericdata)
* ConfigureDefinableLoadProfileRequest see [ConfigureDefinableLoadProfile](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/configuredefinableloadprofile)
* SetMbusUserKeyByChannelRequest see [SetMbusUserKeyByChannel](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/setmbususerkeybychannel)
* GetMBusEncryptionKeyStatusRequest see [GetMbusEncryptionKeyStatus](https://grid-exchange-fabric.gitbook.io/gxf/domains/smartmetering/smartmeteringws/configuration/getmbusencryptionkeystatus)

## References

XSD: [sm-bundle.xsd](https://github.com/OSGP/open-smart-grid-platform/blob/development/osgp/shared/osgp-ws-smartmetering/src/main/resources/schemas/sm-bundle.xsd)

WSDL: [SmartMeteringBundle.wsdl](https://github.com/OSGP/open-smart-grid-platform/blob/development/osgp/shared/osgp-ws-smartmetering/src/main/resources/SmartMeteringBundle.wsdl)
