IResourceMetadata.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
  4. * SPDX-License-Identifier: AGPL-3.0-or-later
  5. */
  6. namespace OCP\Calendar\Resource;
  7. /**
  8. * Interface IResourceMetadata
  9. *
  10. * This interface provides keys for common metadata.
  11. * Resource Backends are not limited to this list and can provide
  12. * any metadata they want.
  13. *
  14. * @since 17.0.0
  15. */
  16. interface IResourceMetadata {
  17. /**
  18. * Type of resource
  19. *
  20. * Allowed values for this key include:
  21. * - projector
  22. * - tv
  23. * - vehicle
  24. * - other
  25. *
  26. * @since 17.0.0
  27. */
  28. public const RESOURCE_TYPE = '{http://nextcloud.com/ns}resource-type';
  29. /**
  30. * If resource is of type vehicle, this describes the type of vehicle
  31. *
  32. * Allowed values:
  33. * - bicycle
  34. * - scooter
  35. * - motorbike
  36. * - car
  37. * - plane
  38. * - helicopter
  39. * - other
  40. *
  41. * @since 17.0.0
  42. */
  43. public const VEHICLE_TYPE = '{http://nextcloud.com/ns}resource-vehicle-type';
  44. /**
  45. * Make of the vehicle
  46. *
  47. * @since 17.0.0
  48. */
  49. public const VEHICLE_MAKE = '{http://nextcloud.com/ns}resource-vehicle-make';
  50. /**
  51. * Model of the vehicle
  52. *
  53. * @since 17.0.0
  54. */
  55. public const VEHICLE_MODEL = '{http://nextcloud.com/ns}resource-vehicle-model';
  56. /**
  57. * Whether or not the car is electric
  58. *
  59. * use '1' for electric, '0' for non-electric
  60. *
  61. * @since 17.0.0
  62. */
  63. public const VEHICLE_IS_ELECTRIC = '{http://nextcloud.com/ns}resource-vehicle-is-electric';
  64. /**
  65. * Range of vehicle with a full tank
  66. *
  67. * @since 17.0.0
  68. */
  69. public const VEHICLE_RANGE = '{http://nextcloud.com/ns}resource-vehicle-range';
  70. /**
  71. * Seating capacity of the vehicle
  72. *
  73. * @since 17.0.0
  74. */
  75. public const VEHICLE_SEATING_CAPACITY = '{http://nextcloud.com/ns}resource-vehicle-seating-capacity';
  76. /**
  77. * Contact information about the person who is responsible to administer / maintain this resource
  78. * This key stores a textual description of name and possible ways to contact the person
  79. *
  80. * @since 17.0.0
  81. */
  82. public const CONTACT_PERSON = '{http://nextcloud.com/ns}resource-contact-person';
  83. /**
  84. * Link to the vcard of the contact person
  85. *
  86. * @since 17.0.0
  87. */
  88. public const CONTACT_PERSON_VCARD = '{http://nextcloud.com/ns}resource-contact-person-vcard';
  89. }