OSID Logo
OSID Specifications
billing package
Version 3.0.0
Interfaceosid.billing.PeriodBusinessAssignmentSession
Implementsosid.OsidSession
Used Byosid.billing.BillingManager
osid.billing.BillingProxyManager
Description

This session provides methods to re-assign Periods to Businesses . A Period may appear in multiple Businesses and removing the last reference to a Period is the equivalent of deleting it. Each Business may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a Period to another Business is not a copy operation (eg: does not change its Id ).

MethodcanAssignPeriods
Description

Tests if this user can alter period/business mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnbooleanfalse if mapping is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignPeriodsToBusiness
Description

Tests if this user can alter period/business mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Parametersosid.id.IdbusinessIdthe Id of the Business
Returnbooleanfalse if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENTbusinessId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableBusinessIds
Description

Gets a list of businesses including and under the given business node in which any period can be assigned.

Parametersosid.id.IdbusinessIdthe Id of the Business
Returnosid.id.IdListlist of assignable business Ids
ErrorsNULL_ARGUMENTbusinessId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableBusinessIdsForPeriod
Description

Gets a list of businesses including and under the given business node in which a specific period can be assigned.

Parametersosid.id.IdbusinessIdthe Id of the Business
osid.id.IdperiodIdthe Id of the Period
Returnosid.id.IdListlist of assignable business Ids
ErrorsNULL_ARGUMENTbusinessId or periodId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignPeriodToCatalog
Description

Adds an existing Period to a Business .

Parametersosid.id.IdperiodIdthe Id of the Period
osid.id.IdbusinessIdthe Id of the Business
ErrorsALREADY_EXISTSperiodId is already assigned to businessId
NOT_FOUNDperiodId or businessId not found
NULL_ARGUMENTperiodId or businessId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignPeriodFromCatalog
Description

Removes a Period from a Business .

Parametersosid.id.IdperiodIdthe Id of the Period
osid.id.IdbusinessIdthe Id of the Business
ErrorsNOT_FOUNDperiodId or businessId not found or periodId not assigned to businessId
NULL_ARGUMENTperiodId or businessId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignPeriodToBusiness
Description

Moves a Period from one Business to another. Mappings to other Businesses are unaffected.

Parametersosid.id.IdperiodIdthe Id of the Period
osid.id.IdfromBusinessIdthe Id of the current Business
osid.id.IdtoBusinessIdthe Id of the destination Business
ErrorsALREADY_EXISTSperiodId already assigned to toBusinessId
NOT_FOUNDperiodId, fromBusinessId , or toBusinessId not found or periodId not mapped to fromBusinessId
NULL_ARGUMENTperiodId, fromBusinessId , or toBusinessId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.